SEP 14 -- 统一工程模板与服务框架
Head
- Author: larry
- Type: Standards
- Created: 2017-01-30
摘要
微服务架构下,工程越来越多,需要统一模板,以便保持风格一致,同时也需要对现在的commonbaseview做重新设计。
服务工程模板
- 统一风格的配置文件。
- SQL ORM。sqlalchemy与django。
- logging,具备我们要求的log格式。
- 其他常见功能:celery,email等。
- 工程部署用虚拟环境。
- 包含完整的requirement.txt文件。
- 完备的指引说明文档,或者用Cookiecutter做一个参数化的命令去初始化工程。
工程模板需要做成可升级的版本化发布。
BaseView
- 统一业务代码处理模板,提供check param, process, output三种模板函数,强制代码风格一致化。
- 具备参数模式校验功能,用jsonschema方式。
- 参数处理具备别名功能。编写常用字段名称建议,用别名去兼容历史字段名。
- mysql session放到baseview中统一设计,使得跨函数session的处理方式一致化。
- 输入输出处理更加模式化,业务不需要再通过返回jsonresponse的方式来提交返回,以便框架对输入输出有更多的处理能力。
- 统一的错误处理规范、统一的异常体系。error_user, error, code。
- 接口文档可从模板中自动生成,数据库文档从db中自动生成。
baseview需要放到lib中去发布使用,不允许业务代码随意修改。